Connectivity management for transport independent architectures

ABSTRACT

A system for facilitating the configuration of access to resources residing within an operating environment comprising multiple apparatuses. Apparatuses may establish a common operating environment based on interactions taking place via a shared memory space residing on one or more of the apparatuses. Apparatuses that desire to interact with other apparatuses also participating in the common operating environment, for example in order to access resources residing on the other apparatuses, may initially obtain communication configuration information that is usable for establishing links to the other apparatuses.

BACKGROUND

The work leading to this invention has received funding from theEuropean Community's Seventh Framework Programme (FP7/2007-2013) undergrant agreement n.° 216248.

1. FIELD OF INVENTION

The present invention relates to resource access in multi-devicearchitectures, and in particular, to facilitating access to resources onapparatuses through the provision of communication configurationinformation based on operational criteria.

2. BACKGROUND

In general, software programs may comprise at least executableinstruction code that may facilitate the processing (e.g., computation,calculation, evaluation, etc.) of input in order to yield an output.Over the years, software technology has evolved to transform theseindividual instruction sets into modules that may, in turn, beintegrated together to form the more complex programs we utilize today.Today's more-sophisticated software programs may receive various formsof input such as raw data, for example as stored in magnetic or opticalstorage, user input through various known types of user interfaces,measured or monitored information converted to electronic informationfrom electronic and/or electromechanical sensors, etc.

Programs may, in some instances, be configured to produce data usable byother software applications. However, problems may arise when conveyinginformation between these programs. If an information exchange scenariois known before the interacting programs are formulated, then a specificstrategy may be devised to convert one program's output into a form thatis usable as another program's input. Traditionally this strategy hasled to functional but extremely rigid software applicationconfigurations, requiring frequent and possibly substantial revisionsdue to changes in required functionality, implementation platform,architecture, etc.

This inflexibility may add to the complication involved in theconfiguration of software and/or apparatus interaction, which may resultin confusion and frustration for the user. For example, when performingactivities using an apparatus, users may not only have to know theapplications involved in executing the activity, but also whether theseapplications reside on the same or separate apparatuses. If theapplications are separately situated, users may further have tocomprehend both how to configure the application interaction and alsothe underlying communications needed to link the apparatuses. Existingarchitectures require users to have independent knowledge of theresources on each apparatus, the communication abilities of eachapparatus and how the application/apparatus should be configured inorder to perform the desired transaction. Some or all of this knowledgeis often outside of the skill level of an average user.

SUMMARY

Various example embodiments of the present invention may be directed toa method, apparatus, computer program product and system forfacilitating the configuration of access to resources residing within anoperating environment comprising multiple apparatuses. Apparatuses mayestablish a common operating environment based on interactions takingplace via a shared memory space residing on one or more of theapparatuses. Apparatuses that desire to interact with other apparatusesalso participating in the common operating environment, for example inorder to access resources residing on the other apparatuses, mayinitially obtain communication configuration information usable forconnecting to the other apparatuses.

In various example implementations of the present invention, servicesthat may be configured to provide communication configurationinformation may reside in at least one of the apparatuses. Access to theservices for any or all of the apparatuses may be provided via theshared memory space. When determining possible communicationconfigurations, the services may obtain decision criteria informationfrom any or all of the apparatuses. Example decision criteriainformation may include, but is not limited to, apparatus resource(e.g., hardware and/or software) information, apparatus conditioninformation, operational environment information, etc. The services maythen utilize the decision criteria information, possibly in conjunctionwith rule/preference information, to formulate one or more preferredcommunication configurations.

The communication configuration information formulated by the servicesmay, in accordance with at least one example embodiment of the presentinvention, then be provided via the shared memory space in order tosupport interaction between the apparatuses. In at least one usescenario, an apparatus may identify resources to access on otherapparatuses. The apparatus may then utilize communication configurationinformation provided by the services in order to determine howcommunications underlying the access activities can and/or should beconfigured.

The foregoing summary includes example embodiments of the presentinvention that are not intended to be limiting. The above embodimentsare used merely to explain selected aspects or steps that may beutilized in implementations of the present invention. However, it isreadily apparent that one or more aspects, or steps, pertaining to anexample embodiment can be combined with one or more aspects, or steps,of other embodiments to create new embodiments still within the scope ofthe present invention. Therefore, persons of ordinary skill in the artwould appreciate that various embodiments of the present invention mayincorporate aspects from other embodiments, or may be implemented incombination with other embodiments.

DESCRIPTION OF DRAWINGS

The invention will be further understood from the following descriptionof various example embodiments, taken in conjunction with appendeddrawings, in which:

FIG. 1 discloses the example levels of a wireless communicationarchitecture in accordance with at least one embodiment of the presentinvention.

FIG. 2 discloses an example link between two wireless communicationdevices in accordance with at least one embodiment of the presentinvention.

FIG. 3 discloses an example of services being utilized to create servicenodes on a billboard in accordance with at least one embodiment of thepresent invention.

FIG. 4A discloses an example Network on Terminal Architecture inaccordance with at least one embodiment of the present invention.

FIG. 4B discloses an example transport table in accordance with at leastone embodiment of the present invention.

FIG. 5 discloses an example of communication to a billboard utilizing aconnection map in accordance with at least one embodiment of the presentinvention.

FIG. 6A-6E discloses an example of an application querying and selectinga service in accordance with at least one embodiment of the presentinvention.

FIG. 6F discloses an example of the provision of services betweendevices using a billboard in accordance with at least one embodiment ofthe present invention.

FIG. 7 discloses an example scenario wherein apparatuses are interactingin accordance with at least one embodiment of the present invention.

FIG. 8 discloses an example implementation scenario in accordance withat least one embodiment of the present invention.

FIG. 9A discloses an example of a cognitive radio (CR) system inaccordance with at least one embodiment of the present invention.

FIG. 9B discloses an example integration of a cognitive radio (CR)system into a communication architecture wherein application levelentities may interact directly with CR system components in accordancewith at least one embodiment of the present invention.

FIG. 9C discloses an example integration of a cognitive radio (CR)system into a communication architecture wherein CR system activitiesmay be transparent to application level entities in accordance with atleast one embodiment of the present invention.

FIG. 10 discloses an example of communication configuration formulationin accordance with at least one embodiment of the present invention.

FIG. 11 discloses an example of a inter-apparatus communication inaccordance with at least one embodiment of the present invention.

FIG. 12A discloses a flowchart for an example resource access processfrom the perspective of a requestor in accordance with at least oneembodiment of the present invention.

FIG. 12B discloses a flowchart for an example resource access processfrom the perspective of a provider in accordance with at least oneembodiment of the present invention.

DESCRIPTION OF EXAMPLE EMBODIMENTS

While the invention has been described below in terms of a multitude ofexample embodiments, various changes can be made therein withoutdeparting from the spirit and scope of the invention, as described inthe appended claims.

I. System Architecture

An example wireless communication architecture in accordance with atleast one embodiment of the present invention is disclosed in FIG. 1.While the present invention focuses mainly on Billboard 120 andConnectivity Map 140, Whiteboard 100 is also disclosed for contextualpurposes. Whiteboard 100 may comprise the highest level of operation inthis architecture. At this level, operational groups 102 may be formedincluding whiteboards 104 and various application nodes. Applicationnodes may correspond to application existing on a plurality of wirelesscommunication devices, and may be utilized to exchange informationbetween these applications, for example, by placing data into, andremoving data from, whiteboard 104. For example, the various nodes mayconsist of proactive nodes (PN) 106 that may be utilized to placeinformation into whiteboard 104, reactive nodes (RN) 110 may be utilizedto take information from whiteboard 104. Information semanticsinterpreter (ISI) 108 may be utilized to link different whiteboardstogether. Utilizing these constructs, Whiteboard 104 may provide astandardized means for application interaction that overcomes manyincompatibilities.

Billboard level 120 may facilitate interaction between servicesavailable on the one or more devices. For instance, Billboard level 120may enable the sharing of service-related information (e.g., serviceidentification information, functionality, etc.), as well as anyinformation that may be necessary in order to access and/or utilize eachservice. Services 130 and clients 120 that may utilize these servicesmay be organized in service domains 122. In at least one scenario,service domains 122 may correspond to a particular protocol, such asUniversal Plug and Play (UPnP), Bluetooth™ Service Discovery Protocol(BT SDP), Bonjour, etc. In each service domain 122, services 130 may berepresented by service nodes (SN) 126, and likewise, application nodes(AN) 128 may be established to correspond to applications. Further,service domains 122 may interact utilizing service ontology interpreters(SOI) 124. SOI 124 may allow service domains 122 to interact with otherservice domains 122 in the service level, even if the service domains122 reside on different wirelessly-linked devices (e.g., to provideaccess information to other service domains 122).

Connectivity map 140 may define available connectivitymethods/possibilities and topology for different devices participatingin sharing resources in order to support whiteboard 100 and billboard120. In at least one embodiment of the present invention, devices 144may be linked in directly connected groups 142. Examples of directlyconnected groups of devices (Dev) 142 may include devices connected viaBluetooth™ piconet, a WLAN network, a wUSB link, etc. Each directlyconnected group of devices 142 may further be linked by gateways (GW).

While FIG. 1 discloses an overall communication architecture usable withvarious example embodiments of the present invention, for the sake ofexplanation in the present disclosure, a much more rudimentary scenariowill be utilized to illustrate service node related functionality. FIG.2 discloses device A 200 and device B 210. Examples of devices usable ininstance may include various wireless communication devices ranging fromvery basic wireless devices like wirelessly-enabled sensors or cellularhandsets to more complex wirelessly-enabled computing devices likelaptop or palmtop computers, wireless communicators, personal digitalassistants, or any similar devices with wired connectivity interfaces.The devices disclosed in FIG. 2 may be linked via wireless communication220 (e.g., WLAN), for example, in order to form an ad-hoc networkbetween the devices. Device B 210 may further include a variety ofservices and service search mechanism such as Bluetooth™-related BT SDPand UPnP. Under existing architecture schemes, device A 200 would not beaware of these services over wireless link 220, and further, even ifdevice A 200 was aware, most or all of these services would probably beinaccessible due to various incompatibility issues existing betweenservices. As a result, wireless coupling 220 between Device A 200 andDevice B 210 may only be beneficial for conveying information, since noaccess to remote services is available.

II. Service Node Implementation

A service may be defined as the functionality offered or derived from aparticular software program. Services may pertain to all aspects ofdevice functionality. Services may be provided, for example, by anoperating system loaded on a wireless communication device, or may beadded to the device by accessory applications related to communication,security, productivity, device resource management, entertainment, etc.In accordance with at least one embodiment of the present invention, oneor more service nodes may be established to correspond to servicesavailable on the one or more devices.

FIG. 3 discloses an example of billboard functionality in accordancewith at least one embodiment of the present invention. Billboard 300 maycomprise a shared memory space established amongst one or more wired orwireless devices. The scenario disclosed in FIG. 3 may further include aprotocol such as UPnP 310 installed on a device (e.g., device A 200),and Bluetooth™ SDP 320 installed, for example, on device B 210.Billboard 300 may interact with these protocols using one or moreservices installed on devices A 200 and B 210, such as example billboardservices BB UPnP service 312 and BB SDP service 322. BB services 312 and322 may typically be components of UPnP and BT architecture but they maybe components of a NoTA architecture, an example configuration of whichis described in detail below with respect to FIG. 4.

UPnP 310 may offer various services locally on device A 200. Theseservices may include UPnP media renderer service 316 and UPnP massstorage service 318. Similarly, Bluetooth™ SDP 320 may provide BT OBEXservice 316 and BT mass storage service 328 on device B 210. It isimportant to note that these specific services have been used only forthe sake of example in the present disclosure, and are not intended tolimit the scope of services usable with various embodiments of thepresent invention. While these example services would normally only beaccessible to applications residing on the same service domain, thepresent invention, in accordance with at least one embodiment, mayprovide for the interaction of various services and/or applications,regardless of the domain on which a service resides.

At least one embodiment of the present invention may operate by creatingservice information entries corresponding to services offered on eachdevice in billboard table 300. In the scenario disclosed in FIG. 3, BBUPnP node 314 and BB SDP node 324 may create service information entriesUPnP media renderer service 316A and UPnP mass storage service 318A, aswell as BT OBEX service 316A and BT mass storage service 328A,respectively. These service information entries exist in a commonbillboard table 300, despite the protocols and services actuallyresiding on separate devices. Further, the service information entriesmay provide information about services to other services and/orapplications, such as the name of the service, service properties,pairing & authentication information utilized in accessing a particularservice and/or transport mediums usable with each service. This serviceinformation may be obtained, for example by utilizing BB SDP service 324if billboard table 300 wants to be used from the BT domain, or BB UPnP314 service if billboard table 300 is wants to be utilized from the UPnPdomain. It may also be possible that some architectures, such as NoTA,support billboard service directly. NoTA services 302 may be utilized,in accordance with at least one embodiment of the present invention, toestablish the initial communication between devices A 200 and B 210 viaa wireless communication medium in order to establish a shared memoryspace that will be utilized as Billboard table 300.

III. Underlying Architecture

FIG. 4A discloses an example of an underlying logical architecture thatmay be utilized in implementing NoTA. NoTA may be configured as multiplesubsystems (e.g., 400 and 420) coupled by interconnect 450. NoTAinterconnect 450 may comprise two layers: High Interconnect (H_IN) layer452 and Low Interconnect (L_IN) layer 454 coupled by switch 456. Lowinterconnect layer 454 may include ISO/OSI layers L1-L4 and may providetransport socket type interface upwards. High Interconnect layer 452 mayact as the middleware between L_IN 454 and the higher level Applicationnodes (AN) 402 and Service nodes (SN) 422 residing in subsystems like400 and 420. Key H_IN 452 functionality is to provide client nodes (AN402 or SN 422) on top a direct access to services (without having todisclose the location of the latter). Communication may beconnection-oriented, meaning that before any service or datacommunication takes place, connection setup procedures need to becarried out. Security features have been added to countermeasure theidentified threats. NoTA is an architecture that may be used to provideintra-device service access, making it possible to build independentsubsystems providing both services and applications. In an exampleimplementation there may be several individual NoTA devices involved indirect inter sub-system communication.

FIG. 4B discloses another underlying construct that may be implementedin various embodiments of the present invention. Connectivity map 480may be utilized to map the various services offered on the one or moredevices participating in billboard table 300 to various transportmediums that may be utilized with each service. In the present example,transport mediums may comprise wireless communication mediums such asBluetooth™, WLAN, Wibree™, wUSB, etc. In addition, the presentinvention, in accordance with at least one embodiment, may also be thatradio technologies can be used with several protocols (e.g., Bluetoothprotocols may be implemented over WLAN). However, the present inventionis not specifically limited to using these particular wirelesscommunication mediums, and may be implemented with other wirelesscommunication mediums that are usable by services offered by variousdevices. In this example, Services offered by the devices may be listedunder services 482, and the corresponding available transport mediumsare listed under transports 484. Arrows between services 482 andtransport mediums 484 indicate the one or more transport mediums usableby each service. The information in connectivity map 480 may, inaccordance with various embodiments of the present invention, create abinding between billboard table content (e.g., service offerings) andconnectivity map table content (e.g., available device connectivityconfigurations) so that this information may be utilized, for example,by applications in determining an appropriate transport medium toutilize with a particular service. Where two or more transport mediumsare available, a particular transport medium may be selected based onvarious characteristics such as speed, traffic, priority of executingthe service, other active wireless communication mediums, etc.

Now referring to FIG. 5, an example depicting a wireless transactionbetween device A 200 and device B 210 is disclosed in accordance with atleast one embodiment of the present invention. In this instance, BBservice search 500 on device A 200 may require the use of a particularservice. Further, billboard table 300 may reside on device B 210.Regardless of the actual location of the service required by BB servicesearch 500, a query may be made of billboard table 300 to gain access toa corresponding service node. This is because all available serviceinformation on the one or more devices participating in billboard table300 is centrally located, reducing the steps required to access eachservice, and therefore, increasing the speed of access for availableservices. In addition, various embodiments of the present invention mayinclude more than one billboard table 300 established between the linkeddevices. These billboard tables 300 may interact with each other tocreate a shared information pool that services may access.

BB service search 500 may, for example, using NoTA service 502 residingon device A 200 in order to access billboard table 300. In this example,connectivity map 504 may map to at least Bluetooth™ 506 as a transportmedium usable by NoTA service 502. Other wireless communication mediumsmay also be usable as transport mediums, however in this exampleBluetooth™ 506 is selected (e.g., by a user, by BB service search 500,by an application calling BB service search 500, etc.) A Bluetooth™wireless link 508 may then be utilized to communicate between device A200 and device B 210.

The wireless inquiry sent by device A 200 may then be received by deviceB 210. Bluetooth™ resources 520 in device B may correspond to (e.g., maybe usable by) NoTA service 524 as determined by a mapping inconnectivity map 522. NoTA service 524 may provide access to searchbillboard table 300, which may contain various service informationentries 528 corresponding to various services available in the linkedwireless communication devices. Again, while two devices are shown inthe example of FIG. 5, more than two devices may participate inbillboard table 300, including service nodes 528 corresponding toservices that are offered by each device. BB service search 500 may thenperform an inquiry of the service information entries 528 available inbillboard table 300 in order to determine if any of the servicescorresponding to service information entries 528 will be suitable forthe parameters specified in the search. An example inquiry of billboardtable 300 is now described with respect to FIG. 6A-6E.

IV. Example Application/Service Node Interaction

FIG. 6A-6E disclose an example usage scenario in accordance with atleast one embodiment of the present invention. In FIG. 6A, an examplesituation is shown wherein application 600 running on one of the devicesparticipating in billboard table 300 may have a requirement for storageas indicated at 602. As a result, access to a service providing storageactivities may be desired in order to support application 600. Thisinquiry may be performed, at least in part, by a billboard query 604.

An inquiry process in accordance with at least one embodiment of thepresent invention is shown in FIG. 6B. Storage inquiry 602 may bereferred billboard query 604, which queries all of the service nodes inbillboard table 300 in order to determine the services that maypotentially fulfill the needs of Application 600. In FIG. 6B two servicenodes have been highlighted as potentially corresponding to servicesappropriate for storage requirement 602. The potentially applicableservice information entries are UPnP mass storage 318A and 8T massstorage 328A. Billboard query 604 may further obtain information relatedto the services from their respective nodes. For example, propertyinformation may be supplied by service information entries 318A and 328Ato application 600 through billboard query 604. Information regardingtransport mediums usable by each service may also be obtained throughthe use of connectivity map 480. All of the aforementioned informationmay be used in determining which service to select for supportingapplication 600. For example, the properties of a particular service maybe more useful for, or accessible to, application 600. A particularservice may also be selected because a usable transport medium is betterable to support the activity to be performed because other transportmediums already have too much traffic, are experiencing interference,conflict with other transport mediums, etc.

In FIG. 6C, BT mass storage service information entry 328A has beenselected to support application 600. This selection may be madeautomatically by control elements in the one or more devices supportingbillboard table 300, by application 600, by user selection of apreferred service and/or transport medium, etc. Billboard query 604 maythen obtain all of the information necessary to access BT Mass storageservice 328 from BT mass storage service information entry 328A. Thisinformation may include, for example, property information and transportmedium information that may be further conveyed to application 600 inorder to facilitate a direct link between application 600 with BT Massstorage service 328. An example direct linkage is shown in FIG. 6D, anda communication transaction resulting between application 600 and BTMass storage service 328 is further shown in FIG. 6E.

Now referring to FIG. 6F, an example of devices providing services toother devices via billboard table 300 in accordance with at least oneembodiment of the present invention is disclosed. In this example,devices 610 and 620 may be wirelessly coupled to device 630. A UPnPprotocol in device 610 may couple to device 630 via WLAN, as shown at612, in order to create a UPnP mass storage service node in billboardtable 300. Similarly, a BT mass storage service in device 620 mayutilize the BT SDP protocol to create a service node in billboard table300 via Bluetooth™ communication 622. After these devices haveestablished billboard table 630, device 640 may enter.

Device 640 includes an application that requires a storage service.Device 640 may then access billboard table 300 on device 630 as shown at642. This connection may be made, for example, utilizing a NoTA servicecommunicating over WLAN. Device 640 may access billboard table 300 inorder to query the available services. If more than one applicableservice is located, a selection may be made as to the service mostappropriate for the application. In this example it is determined thatthe BT mass storage service will be most appropriate to assist theapplication in device 640. Device 640 may then obtain information fromthe BT mass storage node, such as property and transport mediuminformation, that will be needed in order to access the BT mass storageservice. Device 640 may then access the BT mass storage service ondevice 620 in order to establish a direct connection between theapplication and the service a shown at 644.

V. Example Source Selection Scenario when a Plurality of Sources areAvailable.

In situations where two or more apparatuses are able to provide the sameresources to an apparatus wishing to access said resources, a decisionto utilize one apparatus over another apparatus may depend on variousfactors. An example indicator that may be used to determine a preferredsource apparatus is energy. For instance, apparatuses that can providerequired resources may currently be operating using a local power source(e.g., a battery) instead of external power (e.g., a wall outlet), mayonly operate with battery due to apparatus complexity, location, size,etc. limitations, may be operating utilizing a depleted energy source,may be quickly depleting stored energy due to substantial processingand/or communication tasks, etc. Indicators, such as those listed above,may be processed in order to determine apparatus condition, which may inturn be evaluated in view of device-level and/or system-level managementobjectives. In this way, sources for required resources may be selectedbased on the management objective.

However, even if users could identify apparatuses that are able toprovide access to required resources and corresponding apparatuscondition information, the level of skill required in order to make adetermination as to which source to select would still be problematicfor novice users, and possibly even for experienced users. Inparticular, it would require users to accumulate and comprehendcondition information pertaining to at least the apparatuses that canprovide the required resources, and then to determine which of theseapparatuses to utilize based on some overall management goal (e.g.,optimizing power in one or more apparatuses, system power optimization,etc.) Users would then be required to configure a connection to selectedapparatuses/required resources, which would already have been burdensomein view of the potential pitfalls discussed above.

In addition, the above source apparatus selection process example doesnot take into account changes in the condition of source apparatuses asthe desired resource is being accessed (e.g., energy depletion), or thesource and consuming apparatuses losing their communication connectiondue to environmental interference, moving outside of communicationrange, one of the apparatuses crashing, etc. Such foreseeable conditionsor events would unavoidably require repeating the entire process foreach occurrence of a failure mode.

VI. Example of Resource Provider Selection.

Now with respect to FIG. 7, drawing elements that were previouslydiscussed in regard to other figures are not identified in FIG. 7 inorder to reduce the complexity of the figure. In accordance with atleast one example embodiment of the present invention, FIG. 7 disclosesa possible interaction between apparatuses 200 and 210. Interactionbetween only two apparatuses has been disclosed in FIG. 7 for the sakeof explanation herein, and thus, the present invention is not limited touse with only two apparatuses. Interaction in this scenario may beinitiated by any participating apparatus, but in the disclosed exampleis triggered by application 700 in apparatus 200. Application 700 maybe, for example, a software/program module that upon activation,execution or user interaction creates requirements to access a resource(e.g., as shown at 702).

In accordance with the previously disclosed example embodiments of thepresent invention, BB search 500 may utilize a transport, such asBluetooth™ (BT), to perform queries 704 of available resources in theNoTA environment. The same transport may further be used to exchangeconnectivity map information, which may eventually be utilized intransport selection 710 when appropriate transports are to be selected.The accumulation of this available resource information may helpfacilitate the identification of potential providers for requestedresources, such as resource “D” requested by application 700. Forexample, information in BB 500 may disclose that resource “D” 706actually resides on apparatus 210 in the NoTA environment, andtherefore, apparatus 210 is able to act as a “provider” for resource “D”to apparatus 200.

A response 708 to inquiry 704 may be returned identifying one or morepotential resources (e.g., services, databases, etc.) residing on atleast one provider (in this case apparatus 210). However, subsequenttransactions cannot be limited to utilizing the transport that wasinitially selected in order to perform the query. For example, highspeed, low power, low throughput transports like Ultra Low PowerBluetooth™ may be adequate for performing initial queries, but would notbe likewise appropriate for subsequent communication if large amounts ofdata are to be conveyed, a low amount of errors is required or othersimilar requirement exist.

VII. Example of Communication Configuration Process.

While the communication configuration (e.g., a wired/wireless transportoperating in accordance with certain control parameters) used to accessrequired resources may ultimately be selected by the apparatus that isseeking access, there are instances where this type of isolatedoperation can cause problems both to the apparatus and to other devicesoperating in the area. FIG. 8 discloses an example scenario wherein theindependent configuration of communication configuration can beproblematic. Example apparatuses “A” through “C” may interact utilizingwireless communication in FIG. 8. Interaction 802 may, in accordancewith various embodiment of the present invention, utilize NoTA to couplethe various devices. For example, a shared memory space established onone or more of the apparatuses may establish common operationalenvironment 800. In addition, apparatuses such as apparatus “D” mayenter into communication range of, and may subsequently seek to join,common operational environment 800.

Even though apparatuses “A” through “C” may interact in commonoperational environment 800, the manner by which each apparatuscommunicates is unregulated at the network level. For example, whenoperating independently any or all of the apparatuses may attempt tocommunicate with each other using the same wireless transport. Moreover,apparatus “D” may seek to enter operational environment 800 utilizingthe same wireless transport as the existing apparatuses in commonoperational environment 800. It is evident that at least trafficconcerns would exist with all apparatuses using the same wirelesstransport. Moreover, the concurrent operation of these apparatusesutilizing the same wireless transport may result in interference, whichmay negatively impact the Quality of Service (QoS) provided to users.

Potential traffic and interference utilizing the same wirelesscommunication medium may not necessarily be remedied by one or more ofthe apparatuses utilizing another wireless transport. Initially, otherwireless transports may operate in the same frequency band, which maytrigger the same problematic situations seen with apparatuses operatingusing the same wireless transport. Moreover, environmental factors suchas electromagnetic field interference (EMI), while emitted byapparatuses external to common operational environment 800, may stilleffect communication occurring on one or more wireless transportsoperating in the same frequency range. The impact of these problems maybe exacerbated when many apparatuses are interacting via commonoperational space 800. For example, the operational situation ofapparatuses located in one physical area may be totally different fromapparatuses operating in other areas, and thus, the communicationconsiderations for each may be different.

In accordance with at least one embodiment of the present invention,FIG. 9A discloses an example of system that may be utilized tocoordinate communication configuration for some or all apparatuses(e.g., apparatuses A to C) interacting via a shared memory space (e.g.,common operating environment 800). For example, a system may beimplemented to help regulate inter-apparatus communication by makingcommunication configuration information available to the apparatuses viaentities (e.g., services) residing in the shared memory space.

Cognitive Radio (CR) system 900 is disclosed in an example distributedarrangement in FIG. 9A. More specifically, portions of CR 900 (e.g.,900A to C) may exist in shared memory space sections 800A to 800Cresiding on apparatuses A to C, respectively. However, the variousexample embodiments of the present invention are not specificallylimited to the disclosed system, which has been provided for the sake ofexample herein. For example, CR system 900 may reside completely in theshared memory space section of a single apparatus. Some or all of theapparatuses may provide information 902 to their respective sharedmemory space sections 800A to 800C, an example of which is shown at 904.Information 904 provided by apparatuses A-C may be conveyed (as shown at906) to CR system 900, which may utilize information 904 to formulatecommunication configuration information pertaining to some or all ofapparatuses A-C. Communication configuration information may comprise,for example, one or more preferred configurations for each apparatus orinformation usable by apparatuses A-C in formulating their ownconfiguration. Configuration information 908 may then be made availableto apparatuses A-C to help facilitate the configuration ofinter-apparatus communication 910.

FIG. 9B discloses an example of the integration of CR system 900 into anNoTA in accordance with various example embodiments of the presentinvention. CR system 900 may comprise CR node/service element 920, whichmay correspond to services provided by system-level element 922.CR-node/service 920 may be utilized to provide configuration informationbetween devices, such as between two CR nodes which is represented by{circle around (1)} in FIG. 9B. Generally CR-node/service may 920exchange configuration information and CR system-level element 922 mayprovide access rules corresponding to certain transport techniques.Application level entities may provide detailed requirements (e.g.,minimum QoS) for certain connections directly to CR-node/service 920,which is represented by {circle around (2)} in FIG. 9B, oralternatively, through direct interaction with CR system-level element922, which is represented by {circle around (3)} in FIG. 9B.

It is also possible for activities performed by CR system 900 to betransparent to upper-level entities. In this way, applications maysimply specify the type of connection needed and may then rely on lowerlevel control resources to establish a connection having the requiredcharacteristics. An example of this type of transparency is disclosed inFIG. 9C. AN 402 may interact with H_IN 452 similar to NoTA systems thatdo include CR functionality. Part of this interaction may include thespecification of required operational parameters for the requestedconnection as shown at {circle around (4)} in FIG. 9C. Upon receivingthese requirements, L_IN 454 may provide the requirements to, andreceive configuration information from, CR system-level element 922,which may be used to establish a connection. As further shown in FIG.9C, CR node 920 may still exist in order to convey configurationinformation between devices.

In accordance with either of the example CR system implementationsdisclosed in FIG. 9B or 9C, CR system-level element 922 may provideaccess to various types of information such as one or more preferredcommunication configurations (e.g., particular transports, modes ofoperation, etc.) or other information that may be usable by apparatusesin formulating their own communication configuration. Alternatively CRsystem-level element 922 may represent that a desired interactionscenario is not currently possible/permitted based on the accumulatedconfiguration information.

FIG. 10 discloses an example methodology by which CR system 900 mayformulate communication configuration information. Initially decisioncriteria may be provided at 1000, the decision criteria comprisingresource, apparatus and/or environmental information. Examples ofresource information may include, but are not limited to, applicationsand/or services residing on an apparatus, hardware components that maybe available in an apparatus (e.g., sensors, image capture devices likecameras, etc.), data stored on apparatuses, etc. Apparatus informationmay comprise, for example, communication transports supported by anapparatus, apparatus security requirements and information pertaining tothe current operating condition of an apparatus (e.g., power level,active transports and corresponding traffic/pending messages for each,processor loading, etc.). Environmental information may encompass dataobtained by an apparatus regarding the environment in which theapparatus is operating. For example, this type of information mayinclude the current state of the transmission spectrum local to eachapparatus or the indication of potential sources of interference inthese areas. Potential sources of interference may be identified basedon field sensors within the apparatus, packet loss experienced incommunications over particular wireless transports, etc.

The decision criteria disclosed, for example, at 1000 may be supplied toCR system 900 in response to a request message, may be providedperiodically based, for example, on a predetermined time period, inresponse to changes occurring in the apparatuses, etc. CR system mayutilize the received decision criteria in one or more logicaldetermination steps as shown in FIG. 10. For example, CR system 900 mayconsider the decision criteria in view of resource requirements such ascommunication link performance requirements (e.g., high speed and/orcapacity for multimedia streaming), link security requirements foraccessing private and/or sensitive information, etc. CR system 900 mayfurther consider which communication transports are available and theloading of each of these transports system-wide and the current stateand/or environmental conditions corresponding to each apparatus.Apparatuses that have limited power and/or processing resources may beslated for communication using transports that help to conserve theseresources. Further, apparatuses experiencing interference based onlocally active transports or proximately-located sources of interferencemay limited to using transports that are immune to these types ofinterference. Preferences/configuration may comprise non-condition ornon-environmental provisions that control transport selection. Forexample, users may configure WLAN over high-speed cellular transports inorder to save power, certain transports may be designated as alwayshaving priority (e.g., transport carrying voice data), etc.Rules/Policies may comprise, for example, regulatory rules that thenodes need to follow in their utilization of spectrum. Spectrum usagemay further be utilized to determine the frequency spectrums that arepreferred (or should be avoided) when establishing new communicationlinks.

The culmination of the example logical decision steps shown in FIG. 10may take the form of communication configuration information 1002. Thisinformation may be provided in various formats, such as possiblecommunication configurations that may be adopted by an apparatus. Forexample, possible communication configurations may comprise assigningone or more communication transports (e.g., low power) for use inaccessing a certain apparatus. Requesting applications and/or requiredresources may also dictate the selection of transports having specificspeed, capacity, error-correction, security characteristics, etc.Further, transports may be excluded from configurations used to accesscertain apparatuses based on the potential negative impact ofinterference sources that are local or proximately-located to theapparatus.

In accordance with at least one example embodiment of the presentinvention, it is also possible for communication configurationinformation to consist of data that is usable when apparatuses areconfiguring their own communications. For example, communicationtransports supported by an apparatus, encryption or error-checkingfunctionality available in an apparatus, local interference informationand/or local spectrum utilization information, apparatus conditioninformation, etc. may be made available to other apparatuses that desireto access resources on the apparatus. These other apparatuses may thenformulate their own configuration in view of the abilities and/orlimitations of the apparatus to which communication is desired. Ineither situation provided above (e.g., the provision of one or morepossible configurations or information usable by apparatuses whenconfiguring a link), the configuration information may be accesseddirectly by requesting apparatuses (e.g., such as by the apparatusesquerying configuration data stored in a particular format), may beprovided in one or more messages transmitted from CR system 900 inresponse to apparatus requests, etc.

VIII. Implementation Example.

In accordance with various example embodiments of the present invention,an implementation scenario is disclosed in FIG. 11. As set forth in FIG.8, apparatus D may desire to participated in the common operationalenvironment currently comprising apparatuses A-C. Apparatus D mayinitially interact with billboard 300 (or a portion of billboard 300)residing on apparatus C. This communication may comprise two activities.For example, apparatus D may query billboard 300 (in accordance with thepreviously described example embodiments) in order to locate a requiredresource. Billboard 300 may accordingly provide potential resourceproviders and/or the apparatuses on which they reside. Further, as shownin FIG. 11 apparatus D may inquire as to whether a CR system isavailable at 1100. CR system 900 resides on apparatus 900 in thedisclosed scenario, and so billboard 300 may inform apparatus D as suchat 1102.

Apparatus D may then interact with CR system 900. In accordance with atleast one example embodiment of the present invention, apparatus D mayquery CR system 900 in view of the desired interaction (e.g., accessinga resource provider on a certain apparatus) at 1110. This activity maybe accomplished by querying configuration information stored by CRsystem 900, sending a request message from apparatus D to CR system 900,etc. Regardless of the manner by which access takes place, CR system 900may provide configuration information (or alternatively may informapparatus D that access to the resource/apparatus is currently notavailable). Apparatus D may utilize any communication configurationinformation provided to establish a link to an apparatus that is capableof providing access to the required resource.

A flowchart of an example process that, in accordance with at least oneexample embodiment of the present invention, may be utilized toimplement operational scenarios like that disclosed in FIG. 11 is nowdisclosed in FIG. 12A. In step 1200 a desired resource access scenariomay be determined. A resource access scenario may be determined, forexample, via a billboard query. In this case potential resourceproviders, along with the apparatuses on which they reside, may bereported to the requesting apparatus, and a access scenario may bedevised based on this information. In step 1202 a determination may thenbe made as to whether a CR system is available in the common operationalenvironment. A link may be established based on existing methods (e.g.,based only on information available in the requesting apparatus) in step1204 if no CR system is determined to be available. A communication linkmay then be attempted in step 1206. If the link is successfullyestablished, then the process may return to step 1200 to await the nextaccess requirement. Otherwise the process may return to step 1202 inorder to request different communication configuration information(e.g., communication configuration information pertaining to a differentresource access scenario or communication configuration informationbased on updated decision criteria) for accessing the required resource.

If a CR system is determined to be available in step 1202, a requestingapparatus may obtain communication configuration information based onthe resource access scenario in step 1208. The requesting apparatus maythen attempt to establish communications based on the providedcommunication configuration information. In scenarios where, forexample, the information that is provided in step 1208 results in onlyone possible configuration, access may be attempted in step 1210. Ifthis attempt fails (as determined in step 1206) the process may returnto step 1202 for new/updated communication configuration information. Ifmore than one communication configuration is possible in view of theinformation provided in step 1208, then the requesting apparatus mayattempt to implement one or more possible communication configurationsbefore determining whether additional configuration will be required instep 1206.

Now referring to FIG. 12B, a flowchart of another process in accordancewith at least one example embodiment of the present invention isdisclosed. A determination may be made in step 1250 as to whether toobtain decision criteria. This determination may be made, for example,in view of a lack of decision criteria for one or more apparatuses(e.g., due to new apparatuses participating in the shared memory space)or due to predetermined threshold criteria such as previously described.If it is determined that decision criteria should be obtained, then instep 1252 resource, apparatus and/or environmental criteria informationmay be obtained in step 1252. It is also possible that this informationis obtained on an as-needed basis, for example, when the information isalways available from the device on which the CR resides. Regardless ofthe determination in step 1250, the process may then proceed to step1254 wherein communication configuration information may be accumulatedon an apparatus-by-apparatus basis in view of the decision criteriataken alone or in combination with other information (e.g., such as thelogical decision steps disclosed in FIG. 10). If information usable inconfiguring inter-apparatus communication is available in step 1256,then this communication configuration information may be compiled intothe overall communication configuration information for the apparatus instep 1258. A determination may then be made in step 1260 as tocommunication configuration information is still needed from otherapparatuses. If information is needed from apparatuses existing in theshared communication space, the process may return to step 1254.

If in step 1256 no usable communication configuration information isavailable for an apparatus, then in step 1262 the attempted accumulationof communication configuration information may continue in step 1254until a threshold condition is reached. For example, a thresholdcondition may be a timeout, a limited number of attempts to obtaincommunication configuration information pertaining to an apparatus, etc.Once the threshold condition is realized in 1262 the process may move tostep 1264 wherein an indication is made that no communicationconfiguration information is currently available for the particularapparatus. This indication may be compiled into the communicationconfiguration information in step 1258. The process may again loop instep 1260 while additional unevaluated apparatuses remain. If allapparatuses have been evaluated, then in step 1266 the communicationconfiguration information may be made available to apparatuses (e.g.,via services in the shared memory space). The process may then return tostep 1250 for determining of whether to obtain new decision criteria.

While various exemplary configurations of the present invention havebeen disclosed above, the present invention is not strictly limited tothe previous embodiments.

For example, the present invention may include, in accordance with atleast one example embodiment, an apparatus comprising means, ifdetermined to be required, obtaining decision criteria, means fordetermining communication configuration information pertaining to one ormore apparatuses based on the decision criteria; and, and means formaking the communication configuration information available to theapparatuses via a shared memory space.

Another configuration in accordance with an example embodiment of thepresent invention may include an apparatus comprising means foridentifying a resource to which access is required, means fordetermining at least one apparatus that can provide access to theresource from amongst a plurality of apparatuses, means for, if acommunication configuration service is determined to be available,accessing communication configuration information in the communicationconfiguration service via a shared memory space, and means for utilizingthe communication configuration information to establish access to theresource.

Accordingly, it will be apparent to persons skilled in the relevant artthat various changes in form a and detail can be made therein withoutdeparting from the spirit and scope of the invention. The breadth andscope of the present invention should not be limited by any of theabove-described example embodiments, but should be defined only inaccordance with the following claims and their equivalents.

1. A method, comprising: if determined to be required, obtainingdecision criteria; determining communication configuration informationpertaining to one or more apparatuses based on the decision criteria;and making the communication configuration information available to theapparatuses via a shared memory space.
 2. The method of claim 1, whereindetermining if decision criteria is required comprises determining if nodecision criteria exists or if existing decision criteria has exceeded apredetermined threshold based on at least one of age, activity or changenotification.
 3. The method of claim 1, wherein obtaining the decisioncriteria comprises collecting at least one of resource information,apparatus information or environmental information pertaining to some orall of the apparatuses interacting via the shared memory space.
 4. Themethod of claim 1, wherein determining communication configurationinformation comprises determining at least one preferred wirelesstransport for establishing a wireless communication link between theapparatuses interacting via the shared memory space.
 5. The method ofclaim 1, wherein the communication configuration information is providedvia a service offered in the shared memory space.
 6. A method,comprising: identifying a resource to which access is required;determining at least one apparatus that can provide access to theresource from amongst a plurality of apparatuses; if a communicationconfiguration service is determined to be available, accessingcommunication configuration information in the communicationconfiguration service via a shared memory space; and utilizing thecommunication configuration information to establish access to theresource.
 7. The method of claim 6, wherein determining one or morepossible providers for the resource comprises accessing a billboardquery service in the shared memory space.
 8. The method of claim 6,wherein the communication configuration information comprises theidentification of at least one preferred wireless transport forestablishing a wireless communication link between the apparatusesinteracting via the shared memory space.
 9. A computer program productcomprising computer executable program code recorded on a computerreadable medium, comprising: computer program code configured to, ifdetermined to be required, obtain decision criteria; computer programcode configured to determine communication configuration informationpertaining to one or more apparatuses based on the decision criteria;and computer program code configured to make the communicationconfiguration information available to the apparatuses via a sharedmemory space.
 10. The computer program product of claim 9, whereindetermining if decision criteria is required comprises determining if nodecision criteria exists or if existing decision criteria has exceeded apredetermined threshold based on at least one of age, activity or changenotification.
 11. The computer program product of claim 9, whereinobtaining the decision criteria comprises collecting at least one ofresource information, apparatus information or environmental informationpertaining to some or all of the apparatuses interacting via the sharedmemory space.
 12. The computer program product of claim 9, whereindetermining communication configuration information comprisesdetermining at least one preferred wireless transport for establishing awireless communication link between the apparatuses interacting via theshared memory space.
 13. The computer program product of claim 9,wherein the communication configuration information is provided via aservice offered in the shared memory space.
 14. A computer programproduct comprising computer executable program code recorded on acomputer readable medium, comprising: computer program code configuredto identify a resource to which access is required; computer programcode configured to determine at least one apparatus that can provideaccess to the resource from amongst a plurality of apparatuses; computerprogram code configured to, if a communication configuration service isdetermined to be available, access communication configurationinformation in the communication configuration service via a sharedmemory space; and computer program code configured to utilize thecommunication configuration information to establish access to theresource.
 15. The computer program product of claim 14, whereindetermining one or more possible providers for the resource comprisesaccessing a billboard query service in the shared memory space.
 16. Thecomputer program product of claim 14, wherein the communicationconfiguration information comprises the identification of at least onepreferred wireless transport for establishing a wireless communicationlink between the apparatuses interacting via the shared memory space.17. An apparatus, comprising: a processor, the processor beingconfigured to: if determined to be required, obtain decision criteria;determine communication configuration information pertaining to one ormore apparatuses based on the decision criteria; and make thecommunication configuration information available to the apparatuses viaa shared memory space.
 18. The apparatus of claim 17, whereindetermining if decision criteria is required comprises determining if nodecision criteria exists or if existing decision criteria has exceeded apredetermined threshold based on at least one of age, activity or changenotification.
 19. The apparatus of claim 17, wherein obtaining thedecision criteria comprises collecting at least one of resourceinformation, apparatus information or environmental informationpertaining to some or all of the apparatuses interacting via the sharedmemory space.
 20. The apparatus of claim 17, wherein determiningcommunication configuration information comprises determining at leastone preferred wireless transport for establishing a wirelesscommunication link between the apparatuses interacting via the sharedmemory space.
 21. The apparatus of claim 17, wherein the communicationconfiguration information is provided via a service offered in theshared memory space.
 22. An apparatus, comprising: a processor, theprocessor being configured to: identify a resource to which access isrequired; determine at least one apparatus that can provide access tothe resource from amongst a plurality of apparatuses; if a communicationconfiguration service is determined to be available, accesscommunication configuration information in the communicationconfiguration service via a shared memory space; and utilize thecommunication configuration information to establish access to theresource.
 23. The apparatus of claim 22, wherein determining one or morepossible providers for the resource comprises accessing a billboardquery service in the shared memory space.
 24. The apparatus of claim 22,wherein the communication configuration information comprises theidentification of at least one preferred wireless transport forestablishing a wireless communication link between the apparatusesinteracting via the shared memory space.